from otree.api import *

doc = """
个人信息
"""


class C(BaseConstants):
    NAME_IN_URL = 'player'
    PLAYERS_PER_GROUP = None
    NUM_ROUNDS = 1
    TABLE_STYLE = """
<style>
img {
  width: auto;
  height: 300px;
}
  /* 设置整个表格的样式 */
  table {
    width: 100%; /* 表格宽度 */
    border-collapse: collapse; /* 合并边框 */
    margin: 50px 0; /* 外边距 */
    font-size: 0.9em; /* 字体大小 */
    font-family: sans-serif; /* 字体 */
    min-width: 400px; /* 最小宽度 */
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.15); /* 阴影效果 */
  }

  /* 设置表头的样式 */
  th {
    background-color: #4286f4; /* 背景颜色 */
    color: white; /* 文字颜色 */
    text-align: left; /* 文字对齐 */
    padding: 12px 15px; /* 内边距 */
  }

  /* 设置表格标题的样式 */
  caption {
    padding: 10px; /* 内边距 */
    caption-side: bottom; /* 标题位置 */
    color: #888; /* 文字颜色 */
    font-size: 1em; /* 字体大小 */
    margin-top: 12px; /* 上边距 */
  }

  /* 设置单元格的样式 */
  td {
    background-color: #f7f7f7; /* 背景颜色 */
    color: #333; /* 文字颜色 */
    text-align: left; /* 文字对齐 */
    padding: 12px 15px; /* 内边距 */
  }

  /* 设置奇数行的背景颜色 */
  tr:nth-child(even) {
    background-color: #e7e7e7;
  }

  /* 设置鼠标悬停时的行样式 */
  tr:hover {
    background-color: #f1f1f1;
  }

  /* 设置表格边框 */
  th, td {
    border: 1px solid #ddd; /* 边框颜色 */
  }
</style>
    """


YES, NO = "是", "否"
LABEL_PIC_COGNATIVE_STYPE = '您能很快从复杂图形中找出简单图形'
GENDER_1 = '男'
GENDER_2 = '女'
LABEL_GENDER = '您的性别?'
LABEL_BIRTHDAY = '您的出生年份?（请按照四位阿拉伯数字的格式填写）'
EDUCATION_1 = '初中及以下'
EDUCATION_2 = '普高/中专/技校/职高'
EDUCATION_3 = '专科'
EDUCATION_4 = '本科'
EDUCATION_5 = '硕士及以上'
LABEL_EDUCATION = "您的最高学历?"
LABEL_INVENTORY_YEAR = '您进入股市年份?（请按照四位阿拉伯数字的格式填写）'
LABEL_EXPERIENCE = '您的投资经验值?（1为没有经验,10为最有经验）'


# LABEL_CALL_BACK = '您是否愿意接受接受回访?'


class Subsession(BaseSubsession):
    pass


class Group(BaseGroup):
    pass


class Player(BasePlayer):
    birthday = models.IntegerField(label=LABEL_BIRTHDAY)
    gender = models.StringField(choices=[GENDER_1, GENDER_2], label=LABEL_GENDER,
                                widget=widgets.RadioSelectHorizontal)
    education = models.StringField(choices=[EDUCATION_1, EDUCATION_2, EDUCATION_3, EDUCATION_4, EDUCATION_5],
                                   label=LABEL_EDUCATION,
                                   widget=widgets.RadioSelect)
    invest_year = models.IntegerField(label=LABEL_INVENTORY_YEAR)
    experience = models.StringField(choices=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], label=LABEL_EXPERIENCE,
                                    widget=widgets.RadioSelectHorizontal)
    # call_back = models.StringField(choices=[YES, NO], label=LABEL_CALL_BACK,
    #                                widget=widgets.RadioSelectHorizontal)
    contact_information = models.StringField(label="您的联系方式?(选填)", blank=True)


class PlayerInfo(Page):
    form_model = 'player'
    form_fields = ['birthday', 'gender', 'education', 'invest_year', 'experience', 'contact_information']


page_sequence = [
    PlayerInfo,
]
